package com.syj.usepagehelper.model.vo.response;


import lombok.extern.slf4j.Slf4j;

/**
 * @version V1.0
 * @Title BaseResponseUtil
 * @Description 响应实体工具类
 * @author 石蕴杰
 * @date 20200407
 */
@Slf4j
public final class BaseResponseUtil<T> {

    private BaseResponseUtil(){}
    /**
     * 成功响应
     *
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> success()
    {
        return new BaseResponse<>(EnumCommon.SUCCESS.getCode(),
                EnumCommon.SUCCESS.getmessage());
    }

    /**
     * 成功响应返回数据
     *
     * @param result
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> success(T result)
    {
        return new BaseResponse<>(EnumCommon.SUCCESS.getCode(), EnumCommon.SUCCESS.getmessage(), result);
    }

    /**
     * 错误响应
     *
     * @param status
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(EnumCommon status)
    {
        return new BaseResponse<T>(status.getCode(), status.getmessage());
    }

    /**
     * 返回自定义错误
     *
     * @param code
     * @param message
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(String code, String message)
    {
        return new BaseResponse<>(code, message);
    }


}
